using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("CollectionInputMgr")]
	public class CollectionInputMgr : MonoBehaviour
	{
		public CollectionDraggableCardVisual m_heldCardVisual => method_3<CollectionDraggableCardVisual>("m_heldCardVisual");

		public Collider TooltipPlane => method_3<Collider>("TooltipPlane");

		public bool m_showingDeckTile => method_2<bool>("m_showingDeckTile");

		public Vector3 m_heldCardScreenSpace => method_2<Vector3>("m_heldCardScreenSpace");

		public bool m_mouseIsOverDeck => method_2<bool>("m_mouseIsOverDeck");

		public UIBScrollable m_scrollBar => method_3<UIBScrollable>("m_scrollBar");

		public bool m_cardsDraggable => method_2<bool>("m_cardsDraggable");

		public CollectionInputMgr(IntPtr address, string className)
			: base(address, className)
		{
		}

		public CollectionInputMgr(IntPtr address)
			: this(address, "CollectionInputMgr")
		{
		}

		public static CollectionInputMgr Get()
		{
			return MonoClass.smethod_15<CollectionInputMgr>(TritonHs.MainAssemblyPath, "", "CollectionInputMgr", "Get", Array.Empty<object>());
		}

		public static void PasteDeckFromClipboard()
		{
			MonoClass.smethod_17(TritonHs.MainAssemblyPath, "", "CollectionInputMgr", "PasteDeckFromClipboard");
		}

		public static void PasteDeckInEditModeFromShareableDeck(ShareableDeck shareableDeck)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "CollectionInputMgr", "PasteDeckInEditModeFromShareableDeck", shareableDeck);
		}

		public static void AlertPlayerOnInvalidDeckPaste(string errorReason)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "CollectionInputMgr", "AlertPlayerOnInvalidDeckPaste", errorReason);
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void Start()
		{
			method_8("Start");
		}

		public void Update()
		{
			method_8("Update");
		}

		public void Unload()
		{
			method_8("Unload");
		}

		public bool HandleKeyboardInput()
		{
			return method_11<bool>("HandleKeyboardInput", Array.Empty<object>());
		}

		public bool GrabCard(CollectionCardVisual cardVisual)
		{
			return method_10<bool>("GrabCard", new Class276.Enum20[1] { Class276.Enum20.Class }, new object[1] { cardVisual });
		}

		public bool GrabCard(DeckTrayDeckTileVisual deckTileVisual, bool removeCard)
		{
			return method_10<bool>("GrabCard", new Class276.Enum20[2]
			{
				Class276.Enum20.Class,
				Class276.Enum20.Boolean
			}, new object[2] { deckTileVisual, removeCard });
		}

		public void DropCard(DeckTrayDeckTileVisual deckTileToRemove)
		{
			method_9("DropCard", new Class276.Enum20[1] { Class276.Enum20.Class }, deckTileToRemove);
		}

		public void SetScrollbar(UIBScrollable scrollbar)
		{
			method_8("SetScrollbar", scrollbar);
		}

		public bool IsDraggingScrollbar()
		{
			return method_11<bool>("IsDraggingScrollbar", Array.Empty<object>());
		}

		public bool HasHeldCard()
		{
			return method_11<bool>("HasHeldCard", Array.Empty<object>());
		}

		public bool CanGrabItem(Actor actor)
		{
			return method_11<bool>("CanGrabItem", new object[1] { actor });
		}

		public void UpdateHeldCard()
		{
			method_8("UpdateHeldCard");
		}

		public void DropCard(bool dragCanceled, DeckTrayDeckTileVisual deckTileToRemove)
		{
			method_9("DropCard", new Class276.Enum20[2]
			{
				Class276.Enum20.Boolean,
				Class276.Enum20.Class
			}, dragCanceled, deckTileToRemove);
		}

		public void OnMouseOnOrOffScreen(bool onScreen)
		{
			method_8("OnMouseOnOrOffScreen", onScreen);
		}
	}
}
